home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_1 / doordr50.zip / DOORDRIV.INT < prev    next >
Text File  |  1992-02-02  |  6KB  |  107 lines

  1. unit doordriv;
  2. {$V-}
  3.  
  4. interface
  5. uses dos, crt, comio, ddscott, ddansi, ddovr,ddovr2;
  6.  
  7. type
  8.  CharOriginType=(localchar,remotechar);
  9.  strptr=^string;
  10. const
  11.  version= 'Version 5.00; 8-20-90';
  12.  progname: string[60] = 'Your Door Name';
  13.  graphics_codes: array[1..4] of string[4] = ('','.ASC','.ANS','.MUS');
  14.  ack=#6;
  15.  nak=#21;
  16.  sot=#1;
  17. var
  18.  mintime: byte;                     {Minimum time left before user kicked off}
  19.  notime: string;                    {Out of time filename                    }
  20.  macro,macro_str: string;           {Used in the macro routines              }
  21.  node_num: byte;                    {Node number                             }
  22.  time_credit: integer;              {Time credit +/- (arrow keys)            }
  23.  CharOrigin: CharOrigInType;        {Where character came from               }
  24.  fouled_up: char;                   {Internal use                            }
  25.  localcol: boolean;                 {From .CTL file: Local color enabled     }
  26.  ansion: boolean;                   {Process ANSI locally                    }
  27.  time_check: boolean;               {Check time left - halt if < mintime     }
  28.  curlinenum: integer;               {current line num - used by <more>       }
  29.  morechk: boolean;                  {display <more> prompt?                  }
  30.  stacked: string;                   {used internally - stacked commands      }
  31.  current_foreground: byte;          {current foreground color                }
  32.  current_background: byte;          {current background color                }
  33.  color_chg: boolean;                {send ANSI color change sequences?       }
  34.  default_fore: integer;             {default foreground color                }
  35.  default_back: integer;             {default background color                }
  36.  cdropped: boolean;                 {carrier dropped?                        }
  37.  bbs_time_left: integer;            {from DROP FILE: time left               }
  38.  com_port: byte;                    {from DROP FILE: com port                }
  39.  bbs_software: byte;                {from .CTL file: bbs type                }
  40.  baud_rate: word;                   {from DROP FILE: baud rate               }
  41.  statfore,statback: byte;           {status line foreground                  }
  42.  statline: boolean;                 {status line background                  }
  43.  graphics: byte;                    {from DROP FILE: graphics code           }
  44.  local: boolean;                    {from DROP FILE: local mode              }
  45.  user_access_level: word;           {from DROP FILE: user's access level     }
  46.  user_first_name: string[30];       {from DROP FILE: user's first name       }
  47.  user_last_name: string[30];        {from DROP FILE: user's last name        }
  48.  sysop_first_name: string[30];      {from .CTL file: sysop's first name      }
  49.  sysop_last_name: string[30];       {from .CTL file: sysop's last name       }
  50.  board_name: string[70];            {from .CTL file: board name              }
  51.  st_hr, st_mn, st_sc: word;         {used by timer calculations              }
  52.  quiet: boolean;                    {from .CTL file: quiet mode              }
  53.  color1: boolean;                   {from .CTL file: color1 mode             }
  54.  line43: boolean;                   {from .CTL file: 43 line mode            }
  55.  stackon: boolean;                  {process stacked commands?               }
  56.  badchar: string;                   {internal use                            }
  57.  fossilIO: boolean;                 {from .CTL file: fossil I/O used         }
  58.  maxtime: word;                     {from .CTL file: maximum time in door    }
  59.  numlines: byte;                    {from .CTL file: number of lines/screen  }
  60.  oldtextmode: word;                 {original text mode                      }
  61.  sbon: boolean;                     {sound blaster on?                       }
  62.  sbaddr: word;                      {sound blaster address                   }
  63.  sbint: word;                       {sound blaster interupt                  }
  64.  lastsetfore: byte;                 {last set_foreground color               }
  65.  setforecheck: boolean;             {check repetetive set_foreground calls?  }
  66.  doorfilepath: string;              {from .CTL file: door file path          }
  67.  
  68.  soutput: text;                     {Simultanious output file                }
  69.  
  70.  proc_call_ptr: pointer;            {used internally                         }
  71.  altkeys: array['A'..'Z'] of pointer;
  72.  althelp: array['A'..'Z'] of strptr;
  73.  
  74. procedure display_macro(s: string);
  75. procedure record_macro(var s: string);
  76. procedure close_async_port;
  77. procedure open_async_port;
  78. function skeypressed: boolean;
  79. procedure sendtext(s: string);
  80. procedure sgoto_xy(x,y: integer);
  81. procedure sclrscr;
  82. procedure sclreol;
  83. procedure swrite(s: string);
  84. procedure swriteln(s: string);
  85. procedure sread_char(var ch: char);
  86. procedure sread(var s: string);
  87. procedure sread_num(var n: integer);
  88. procedure sread_num_word(var n: word);
  89. procedure sread_num_longint(var n: longint);
  90. function time_left: integer;
  91. procedure set_foreground(f: integer);
  92. procedure set_background(b: integer);
  93. procedure set_foreback(fgc,bgc:byte);
  94. procedure prompt(var s: string; le: integer; pc: boolean);
  95. procedure displayfile(filen: string);
  96. Procedure elapsed(time1_hour, time1_min, time1_sec, time2_hour, time2_min,
  97.                   time2_sec: longint; var elap_hour, elap_min, elap_sec: word);
  98. procedure get_stacked(var s: string);
  99. procedure sread_char_filtered(var ch: char);
  100. procedure display_status;
  101. procedure InitDoorDriver(ConfigFileName: string);
  102.  
  103. procedure DDAssignSoutput(var f: text);
  104.  
  105. function Time_used: integer;
  106.  
  107.